home *** CD-ROM | disk | FTP | other *** search
/ Software Vault: The Gold Collection / Software Vault - The Gold Collection (American Databankers) (1993).ISO / cdr47 / wasm223.zip / VIDEO3.ASM < prev    next >
Assembly Source File  |  1993-05-04  |  2KB  |  84 lines

  1. ;***************************************;
  2. ; WASM Video Module, Attribute Routines ;
  3. ; By Eric Tauck                         ;
  4. ;                                       ;
  5. ; Defines:                              ;
  6. ;                                       ;
  7. ;   AtrSet  set the current attribute   ;
  8. ;   AtrGet  get the current attribute   ;
  9. ;   AtrFor  set the current foreground  ;
  10. ;   AtrBac  set the current background  ;
  11. ;                                       ;
  12. ; Requires:                             ;
  13. ;                                       ;
  14. ;   VIDEO1.ASM                          ;
  15. ;***************************************;
  16.  
  17.         jmps    _video3_end
  18.  
  19. ;========================================
  20. ; Global constants.
  21.  
  22. ;--- text attributes
  23.  
  24. BLACK           EQU     0
  25. BLUE            EQU     1
  26. GREEN           EQU     2
  27. CYAN            EQU     3
  28. RED             EQU     4
  29. MAGENTA         EQU     5
  30. BROWN           EQU     6
  31. WHITE           EQU     7
  32. BOLD            EQU     8
  33. BLINK           EQU     128
  34.  
  35. ;========================================
  36. ; Set the current attribute.
  37. ;
  38. ; In: AL= attribute.
  39. ;
  40. ; Out: AL= old attribute.
  41.  
  42. AtrSet  PROC    NEAR
  43.         xchg    al, _vid_attr   ;exchange attributes
  44.         ret
  45.         ENDP
  46.  
  47. ;========================================
  48. ; Return the current attribute.
  49. ;
  50. ; Out: AL= attribute.
  51.  
  52. AtrGet  PROC    NEAR
  53.         mov     al, _vid_attr   ;return attribute
  54.         ret
  55.         ENDP
  56.  
  57. ;========================================
  58. ; Set the foreground color.
  59. ;
  60. ; In: AL= color (attribute).
  61.  
  62. AtrFor  PROC    NEAR
  63.         and     al, 8FH         ;mask foreground bits
  64.         and     _vid_attr, 70H  ;mask background bits
  65.         or      _vid_attr, al   ;set foreground color
  66.         ret
  67.         ENDP
  68.  
  69. ;========================================
  70. ; Set the background color.
  71. ;
  72. ; In: AL= color (attribute).
  73.  
  74. AtrBac  PROC    NEAR
  75.         mov     cl, 4           ;bits to shift
  76.         shl     al, cl          ;shift color to background bits
  77.         and     al, 70H         ;mask background color
  78.         and     _vid_attr, 8FH  ;mask foreground color
  79.         or      _vid_attr, al   ;set background color
  80.         ret
  81.         ENDP
  82.  
  83. _video3_end
  84.